A large amount of data is generated in connection with three-dimensional CT scans of medical patients, which in the past has been stored in a mass storage medium and later called up for computed tomographic processing in extended time. This causes a substantial delay in a radiologist being able to view a reconstructed image, and often the medical patient has left the hospital before his reconstructed image can be viewed by the radiologist. It is highly desirable to shorten the time for computed tomographic processing, to avoid the backlog and thus facilitate the reconstructed images being viewed while the patient is still in the hospital. A shortened time for viewing the reconstructed images that allows the radiologist's review to be conducted straightaway permits unuseful images to be discarded. Only the useful images need then be retained and the data therein compressed for storage in the image archiving system. This can reduce the load on the image archiving system, which is much desired. Accordingly, a high performance system architecture is demanded, which has a certain degree of reconfigurability for various types of post-processing (e.g., image enhancement and image compression for archival storage).
In industrial computed tomography, such as used for inspection of parts, increased speed of analysis is also of substantial advantage. In these systems the relative rotation of the fan-beam scanner around the object of which a tomographic image is being made is usually provided by rotating the scanner around the object being x-rayed, but alternatively may be accomplished by rotating the object within the fan beam of a fixed-position scanner.
Although the Fourier inversion approach to computed tomography has inherent speed advantage over back-projection reconstruction, it is considered to be unsuitable for use with the fan beam scanner because of excessive sensitivity to noise. The convolution and back-projection reconstruction method is suitable for view pipelining and yields images that are relatively free of undesirable artifacts from processing. The back-projection reconstruction portion of the CT scan signal processing is the bulk of the data processing done on the signal and, as will be described in greater detail later in the specification in connection with FIG. 3 of the drawing, takes the longest computation time in prior-art CT scan signal processing.
Prior-art CT scan signal processing has invariably been carried forward using serial data processing. Data processing, which is done parallelly in time is generally known to be faster than serial data processing, and an object of the invention is to speed up back-projection reconstruction calculations through the use of parallel data processing. The problem is how to implement parallel data processing for back-projection reconstruction, so as to achieve better data throughput rates while at the same time keeping the speed requirements (and the accompanying power consumption) within reasonable bounds.
CT scanners use a fan beam energy source, a central ray of which is projected through a particular point in space near the center of the object being scanned, as the energy source is stepped around a circular locus with center at that particular point in space. An arcuate strip of detector elements is located opposite the energy source on the other side of that particular point in space from the energy source and tracs the rotation of the energy source about that particular point in space. The object being scanned is always within the fan beam and absorbs a portion of the radiant energy in each contiguous segment of the fan beam, with the remnant radiant energy or "ray sum" in each segment of the fan beam being measured by a respective detector on the arcuate detector strip. The detector responses for each successive increment of rotation of the energy source and its opposing arcuate detector strip constitutes a separate "view" of the object being scanned. These detector responses during the successive views are stored in memory, since processing of these responses is not done in real time but rather is done after the scan is completed. During this subsequent processing the detector responses from each view are preweighted and prefiltered with a carefully formulated finite-impulse filter kernel before being back projected into the image space to generate the gray scale values of the image picture elements or "pixels". The ray sums passing through each pixel center during each view are weighted and summed to create the gray scale value of the pixel by back projection. That is, since each ray sum represents the sum of the energy absorbed from a bundle of rays forming a segment of the fan beam in its traverse through successive portions of the object including the portion at which the pixel is located, the magnitude of the energy absorption ascribable to any one of the pixels traversed by that segment of the fan beam can be ascertained by performing an autocorrelation procedure involving all of the ray sums for bundles of rays passing through that pixel. This autocorrelation procedure suppresses the shadows cast by the pixels before and after the pixel of interest in the ray sums, which is the essence of producing a tomogram by computed tomography. In the additive combining of ray sums involved in implementing this autocorrelation procedure, each ray sum must be weighted to take into account the divergence of the fan beam before the ray packet associated with that pixel passes through that pixel.
A paper "Convolution Reconstruction Techniques for Divergent Beams" by G. T. Herman, A. V. Lakshminarrayan and A. Naparstek appearing on pages 259-271 of COMPUTER BIOLOGIC MEDICINE, Vol. 6, Oct. 1976, is of interest. So is a paper "Rapid Execution of Fan Beam Image Reconstruction Algorithms Using Efficient Computational Techniques and Special Purpose Processors" by B. K. Gilbert, S. K. Kenue, R. A. Robb, A. Chu, A. H. Lent and E. E. Swartzlander, Jr. appearing on pages 98-115 of the IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING, Vol. BME-28, No. 2, Feb. 1981. From these papers one can draw the following equations, which describe fan beam filtered back projection for a fan-beam CT scanner that uses an arcuate detector strip opposite the x-ray source rotating around the object being scanned. ##EQU1## EQU W.sub.v,(r,.theta.) =U.sup.-2 (.beta..sub.(v+1) -.beta..sub.(v-1)/2(2) EQU U.sup.2 =[r cos (.beta..sub.v -.theta.)].sup.2 +[E+r sin (.beta..sub.r -.theta.)].sup.2 ( 3) EQU K.sub.v (r,.theta.)=(.alpha.).sup.-1 tan.sup.-1 {r cos (.beta..sub.v -.theta.)/[E+r sin (.beta..sub.v -.theta.)]} (4)
The value K(r,.theta.,v) used as a subscript in equation (1) is for a particular view v identical to the value K.sub.v (r,.theta.) in equation (4), the K(r,.theta.,v) notation being used to avoid a double subscription in equation (1). D.sub.v,K(r,.theta.,v) will be simply referred to as D.sub.v,K in the text that follows.
In equation (1) the function f(r,.theta.) is the density of the object at a picture element (or "pixel" of an x-ray image reconstructed by back-projection, which pixel, has its center at polar coordinates r,.theta.. These r, .theta. polar coordinates and a set of x, y Cartesian coordinates have a common origin, about which the source of x-ray fan beam and its opposing arcuate strip of x-ray detectors are considered to rotate. The x and y coordinate axes are considered to be horizontal and vertical, respectively, with the radial coordinate r equaling (x.sup.2 +y.sup.2).sup.1/2 and with the angular coordinate .theta. being the counterclockwise angular displacement measured from the x axis. The number v is the number indicating which of V views consecutively ordinally numbered zeroeth through (V-1).sup.th is being considered, and the point source from which the fan beam is considered to emanate steps a circular locus of radius E in .alpha. angular increments during successive ones of these view. The back-projection weight W.sub.v,(r,.theta.) is calculated taking into account the dispersion of energy in the fan beam with distance from the x-ray source, as provided for by the U.sup.-2 term thereof, and taking into account the fraction of the x-ray source energy within each segment of the fan beam, as provided by the (.beta..sub.(v+1) -.beta..sub.(v-1))/2 term thereof. U is the distance traversed by a straight line ray in going from the origin of the fan beam to the pixel of interest, and .beta. is the angle this ray makes with the y axis as it goes from the origin of the fan beam to a point on the arcuate x-ray detector strip. (.beta.-.theta.) can be shown to be the angle between the central ray of the fan beam and the ray sum passing through the point r, .theta. at which f(r,.theta.) is being evaluated.
The index K takes on successive integral values as a bundle of rays defining a segment of the fan beam impinges directly on a successive one of the detectors p in number that are aligned along the arcuate detector strip. For an integral value p the function D.sub.v,K is the (pre-weighted and pre-filtered) response of the detector that segment of the fan beam impinges directly on during that particular view. The pixel center is usually so located that the ray sum for the bundle of rays passing through the pixel location does not directly impinge on one detector, but directly impinges at a location overlapping portions of two adjacent detectors. According, D.sub.v,K is often sought where K equals p+.delta. where p is the integral portion of K and .delta. is the fractional portion of K. The function D.sub.v,K is then evaluated by interpolation. For example D.sub.v,K =D.sub.v, (p+.delta.) can be evaluated by linear interpolation as follows. EQU D.sub.v,(p+.delta.) =D.sub.v,p +.delta.(D.sub.v,(p+1) -D.sub.v,p)(5)
For a 512-pixel-by-512-pixel image there are about 250 million multiplications and additions involved in equation (1). About the same number of calculations are required for evaluating K.sub.v(r,.theta.) and W.sub.v,(r,.theta.).
The inventor discerns that v points located the same radial distance r from the origin but at different angular coordinates .theta. will, during respective ones of the views v, each have the same .beta..sub.v -.theta. value associated therewith, making the W.sub.v and K.sub.v values associated therewith the same. By phasing the calculations of f(r,.theta.) for these v points properly in v coordinates, a respective value of W.sub.v and a respective value of K.sub.v can be calculated which can be used in one of the steps of the accumulation used for calculating f(r,.theta.) for each of these v points--or for selected ones of these v points that have coordinates that are integer values in the coordinate system used to address the display image memory associated with the CT scanner.